unixODBC, psqlodbcw.so, and Wine...

unixODBC, psqlodbcw.so, and Wine...

am 21.01.2010 23:00:36 von Raiford

This is a multipart message in MIME format.
--=_alternative 0078E5A9852576B2_=
Content-Type: text/plain; charset="US-ASCII"

I have been beating my head over this all day and I'm not turning anything
up at Google. I'm basically trying to get an ODBC app to run in Wine and
use the PostgreSQL ODBC driver configured in unixODBC. Here is a brief
rundown of my problem:

First, to prove I have unixODBC set up properly:

* Run /usr/bin/odbctest
* Select the Conn -> Full Connect ... menu item
* Select my Data Source, enter a User and Password, and click OK
* "Full Connect Succeeded" is displayed (yay!)

** Note that this works regardless of whether I choose the ANSI or Unicode
ODBC driver.

Now, from within Wine, I run a very similar test:

* Run Unicode ODBCTEST.EXE from
http://www.datadirect.com/support/downloads/tools/index.ssp
* Select the Conn -> Full Connect ... menu item
* Select my Data Source, enter the exact same User and Password, and
click OK
* This fails with the text "[unixODBC]c"

** Note that I can connect via Wine if I use the ANSI ODBC driver, but
when I try to access a Unicode Postgres database, there are errors that
invalid data types are being used

Everything looks correct in the ODBC tracing output. I've tried a few
other scenarios, but this is the most direct test case to show you. In
all cases, the Unicode driver only passes a single character back to the
app running under Wine. I have been trying to turn on Postgres specific
logging, but I can't seem to figure out how. I also considered that maybe
the Unicode encoding between Wine and unixODBC may be a problem, but I
didn't see any way to check or change this.

Please help! I'm willing to put more effort in to document this better.
At this point I'm not sure if its a Postgres error, unixODBC error, or a
Wine error. Doing this exact same test with FreeTDS and MDBTools had
errors as well, although the connections did succeed.

I'm running 32-bit Ubuntu 9.10 (Karmic). I have updated Wine to the
latest available in the Wine PPA with no change in behavior.

Jon
--=_alternative 0078E5A9852576B2_=
Content-Type: text/html; charset="US-ASCII"

I have been beating my head over this all
day and I'm not turning anything up at Google.  I'm basically trying
to get an ODBC app to run in Wine and use the PostgreSQL ODBC driver configured
in unixODBC.  Here is a brief rundown of my problem:




First, to prove I have unixODBC set
up properly:




  * Run /usr/bin/odbctest

  * Select the Conn -> Full
Connect ... menu item


  * Select my Data Source, enter
a User and Password, and click OK


  * "Full Connect Succeeded"
is displayed (yay!)




** Note that this works regardless of
whether I choose the ANSI or Unicode ODBC driver.




Now, from within Wine, I run a very
similar test:




   * Run Unicode ODBCTEST.EXE
from


   * Select the Conn ->
Full Connect ... menu item


   * Select my Data Source,
enter the exact same User and Password, and click OK


   * This fails with the text
"[unixODBC]c"




** Note that I can connect via Wine
if I use the ANSI ODBC driver, but when I try to access a Unicode Postgres
database, there are errors that invalid data types are being used




Everything looks correct in the ODBC
tracing output.  I've tried a few other scenarios, but this is the
most direct test case to show you.  In all cases, the Unicode driver
only passes a single character back to the app running under Wine.  I
have been trying to turn on Postgres specific logging, but I can't seem
to figure out how.  I also considered that maybe the Unicode encoding
between Wine and unixODBC may be a problem, but I didn't see any way to
check or change this.




Please help!  I'm willing to put
more effort in to document this better.  At this point I'm not sure
if its a Postgres error, unixODBC error, or a Wine error.  Doing this
exact same test with FreeTDS and MDBTools had errors as well, although
the connections did succeed.




I'm running 32-bit Ubuntu 9.10 (Karmic).
 I have updated Wine to the latest available in the Wine PPA with
no change in behavior.




Jon
--=_alternative 0078E5A9852576B2_=--

Re: unixODBC, psqlodbcw.so, and Wine...

am 21.01.2010 23:21:26 von the6campbells

--0014852b310abbd63c047db41f5e
Content-Type: text/plain; charset=ISO-8859-1

this looks like the issue I noted to the list. the ucs-2 data being passed
to the unixodbc driver manager was not working with the driver. it was
suggested that I re-build it having edited the config.h file #undef
SQL_WCHAR_CONVERT which did the trick.


On Thu, Jan 21, 2010 at 5:00 PM, wrote:

> I have been beating my head over this all day and I'm not turning anything
> up at Google. I'm basically trying to get an ODBC app to run in Wine and
> use the PostgreSQL ODBC driver configured in unixODBC. Here is a brief
> rundown of my problem:
>
> First, to prove I have unixODBC set up properly:
>
> * Run /usr/bin/odbctest
> * Select the Conn -> Full Connect ... menu item
> * Select my Data Source, enter a User and Password, and click OK
> * "Full Connect Succeeded" is displayed (yay!)
>
> ** Note that this works regardless of whether I choose the ANSI or Unicode
> ODBC driver.
>
> Now, from within Wine, I run a very similar test:
>
> * Run Unicode ODBCTEST.EXE from
> http://www.datadirect.com/support/downloads/tools/index.ssp
> * Select the Conn -> Full Connect ... menu item
> * Select my Data Source, enter the exact same User and Password, and
> click OK
> * This fails with the text "[unixODBC]c"
>
> ** Note that I can connect via Wine if I use the ANSI ODBC driver, but when
> I try to access a Unicode Postgres database, there are errors that invalid
> data types are being used
>
> Everything looks correct in the ODBC tracing output. I've tried a few
> other scenarios, but this is the most direct test case to show you. In all
> cases, the Unicode driver only passes a single character back to the app
> running under Wine. I have been trying to turn on Postgres specific
> logging, but I can't seem to figure out how. I also considered that maybe
> the Unicode encoding between Wine and unixODBC may be a problem, but I
> didn't see any way to check or change this.
>
> Please help! I'm willing to put more effort in to document this better.
> At this point I'm not sure if its a Postgres error, unixODBC error, or a
> Wine error. Doing this exact same test with FreeTDS and MDBTools had errors
> as well, although the connections did succeed.
>
> I'm running 32-bit Ubuntu 9.10 (Karmic). I have updated Wine to the latest
> available in the Wine PPA with no change in behavior.
>
> Jon

--0014852b310abbd63c047db41f5e
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

this looks like the issue I noted to the list. the ucs-2 data being passed =
to the unixodbc driver manager was not working with the driver. it was sugg=
ested that I re-build it having edited the config.h file #undef SQL_WCHAR_C=
ONVERT which did the trick.



On Thu, Jan 21, 2010 at 5:00 PM, dir=3D"ltr"><Ra=
iford@labware.com
>
wrote:
" style=3D"border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0=
..8ex; padding-left: 1ex;">

I have been beating my head over this =
all
day and I'm not turning anything up at Google. =A0I'm basically try=
ing
to get an ODBC app to run in Wine and use the PostgreSQL ODBC driver config=
ured
in unixODBC. =A0Here is a brief rundown of my problem:




First, to prove I have unixODBC se=
t
up properly:




=A0 * Run /usr/bin/odbctest

=A0 * Select the Conn -> Full
Connect ... menu item


=A0 * Select my Data Source, enter
a User and Password, and click OK


=A0 * "Full Connect Succeeded=
"
is displayed (yay!)




** Note that this works regardless=
of
whether I choose the ANSI or Unicode ODBC driver.




Now, from within Wine, I run a ver=
y
similar test:




=A0 =A0* Run Unicode ODBCTEST.EXE
from
dex.ssp" target=3D"_blank">http://www.=
datadirect.com/support/downloads/tools/index.ssp


=A0 =A0* Select the Conn ->
Full Connect ... menu item


=A0 =A0* Select my Data Source,
enter the exact same User and Password, and click OK


=A0 =A0* This fails with the text
"[unixODBC]c"




** Note that I can connect via Win=
e
if I use the ANSI ODBC driver, but when I try to access a Unicode Postgres
database, there are errors that invalid data types are being used




Everything looks correct in the OD=
BC
tracing output. =A0I've tried a few other scenarios, but this is the
most direct test case to show you. =A0In all cases, the Unicode driver
only passes a single character back to the app running under Wine. =A0I
have been trying to turn on Postgres specific logging, but I can't seem
to figure out how. =A0I also considered that maybe the Unicode encoding
between Wine and unixODBC may be a problem, but I didn't see any way to
check or change this.




Please help! =A0I'm willing to=
put
more effort in to document this better. =A0At this point I'm not sure
if its a Postgres error, unixODBC error, or a Wine error. =A0Doing this
exact same test with FreeTDS and MDBTools had errors as well, although
the connections did succeed.




I'm running 32-bit Ubuntu 9.10=
(Karmic).
=A0I have updated Wine to the latest available in the Wine PPA with
no change in behavior.




Jon



--0014852b310abbd63c047db41f5e--

Re: unixODBC, psqlodbcw.so, and Wine...

am 22.01.2010 15:52:13 von Raiford

This is a multipart message in MIME format.
--=_alternative 0051AD9C852576B3_=
Content-Type: text/plain; charset="US-ASCII"

Are you saying I need to rebuild the Postgres driver or unixODBC? Looking
at the sources for both, it looks like you are talking about Postgres -
its the only one with a config.h.in file. I see #undef SQL_WCHART_CONVERT
is already in the file. Are you suggesting I remove this reference? Or
are you suggesting that I add an additional #undef SQL_WCHAR_CONVERT?

Thanks for your help.. I would have never thought of doing something like
this :)

Jon




From:
the6campbells
To:
Raiford@labware.com
Cc:
pgsql-odbc@postgresql.org
Date:
01/21/2010 05:21 PM
Subject:
Re: [ODBC] unixODBC, psqlodbcw.so, and Wine...



this looks like the issue I noted to the list. the ucs-2 data being passed
to the unixodbc driver manager was not working with the driver. it was
suggested that I re-build it having edited the config.h file #undef
SQL_WCHAR_CONVERT which did the trick.


On Thu, Jan 21, 2010 at 5:00 PM, wrote:
I have been beating my head over this all day and I'm not turning anything
up at Google. I'm basically trying to get an ODBC app to run in Wine and
use the PostgreSQL ODBC driver configured in unixODBC. Here is a brief
rundown of my problem:

First, to prove I have unixODBC set up properly:

* Run /usr/bin/odbctest
* Select the Conn -> Full Connect ... menu item
* Select my Data Source, enter a User and Password, and click OK
* "Full Connect Succeeded" is displayed (yay!)

** Note that this works regardless of whether I choose the ANSI or Unicode
ODBC driver.

Now, from within Wine, I run a very similar test:

* Run Unicode ODBCTEST.EXE from
http://www.datadirect.com/support/downloads/tools/index.ssp
* Select the Conn -> Full Connect ... menu item
* Select my Data Source, enter the exact same User and Password, and
click OK
* This fails with the text "[unixODBC]c"

** Note that I can connect via Wine if I use the ANSI ODBC driver, but
when I try to access a Unicode Postgres database, there are errors that
invalid data types are being used

Everything looks correct in the ODBC tracing output. I've tried a few
other scenarios, but this is the most direct test case to show you. In
all cases, the Unicode driver only passes a single character back to the
app running under Wine. I have been trying to turn on Postgres specific
logging, but I can't seem to figure out how. I also considered that maybe
the Unicode encoding between Wine and unixODBC may be a problem, but I
didn't see any way to check or change this.

Please help! I'm willing to put more effort in to document this better.
At this point I'm not sure if its a Postgres error, unixODBC error, or a
Wine error. Doing this exact same test with FreeTDS and MDBTools had
errors as well, although the connections did succeed.

I'm running 32-bit Ubuntu 9.10 (Karmic). I have updated Wine to the
latest available in the Wine PPA with no change in behavior.

Jon


--=_alternative 0051AD9C852576B3_=
Content-Type: text/html; charset="US-ASCII"

Are you saying I need to rebuild the Postgres
driver or unixODBC?  Looking at the sources for both, it looks like
you are talking about Postgres - its the only one with a config.h.in file.
 I see #undef SQL_WCHART_CONVERT is already in the file.  Are
you suggesting I remove this reference?  Or are you suggesting that
I add an additional #undef SQL_WCHAR_CONVERT?




Thanks for your help.. I would have
never thought of doing something like this :)




Jon














From:
the6campbells <the6campbells@gmail.com>
To:
Raiford@labware.com
Cc:
pgsql-odbc@postgresql.org
Date:
01/21/2010 05:21 PM
Subject:
Re: [ODBC] unixODBC, psqlodbcw.so, and
Wine...










this looks like the issue I noted to the list. the ucs-2
data being passed to the unixodbc driver manager was not working with the
driver. it was suggested that I re-build it having edited the config.h
file #undef SQL_WCHAR_CONVERT which did the trick.





On Thu, Jan 21, 2010 at 5:00 PM, <>
wrote:


I have been beating my head over this
all day and I'm not turning anything up at Google.  I'm basically
trying to get an ODBC app to run in Wine and use the PostgreSQL ODBC driver
configured in unixODBC.  Here is a brief rundown of my problem:





First, to prove I have unixODBC set up properly:




  * Run /usr/bin/odbctest


  * Select the Conn -> Full Connect ... menu item



  * Select my Data Source, enter a User and Password, and click OK



  * "Full Connect Succeeded" is displayed (yay!)





** Note that this works regardless of whether I choose the ANSI or Unicode
ODBC driver.




Now, from within Wine, I run a very similar test:




   * Run Unicode ODBCTEST.EXE from



   * Select the Conn -> Full Connect ... menu item



   * Select my Data Source, enter the exact same User and Password,
and click OK


   * This fails with the text "[unixODBC]c"





** Note that I can connect via Wine if I use the ANSI ODBC driver, but
when I try to access a Unicode Postgres database, there are errors that
invalid data types are being used




Everything looks correct in the ODBC tracing output.  I've tried a
few other scenarios, but this is the most direct test case to show you.
 In all cases, the Unicode driver only passes a single character back
to the app running under Wine.  I have been trying to turn on Postgres
specific logging, but I can't seem to figure out how.  I also considered
that maybe the Unicode encoding between Wine and unixODBC may be a problem,
but I didn't see any way to check or change this.




Please help!  I'm willing to put more effort in to document this better.
 At this point I'm not sure if its a Postgres error, unixODBC error,
or a Wine error.  Doing this exact same test with FreeTDS and MDBTools
had errors as well, although the connections did succeed.





I'm running 32-bit Ubuntu 9.10 (Karmic).  I have updated Wine to the
latest available in the Wine PPA with no change in behavior.





Jon





--=_alternative 0051AD9C852576B3_=--